맨위로가기 타임라인 바로가기

인텔 8008

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
타임라인 바로가기

1. 개요

인텔 8008은 1972년 인텔에서 출시한 8비트 마이크로프로세서이다. 컴퓨터 터미널 코퍼레이션(CTC)의 데이터포인트 3300의 후속 제품에 사용할 CPU 설계를 위해 인텔과 협력하여 개발되었다. 8008은 10μm 실리콘 게이트 PMOS 로직으로 제작되었으며, 18핀 듀얼 인라인 패키지로 제공되었다. 8008은 8개의 8비트 레지스터, 14비트 프로그램 카운터, 8단계 푸시다운 어드레스 콜 스택, 4개의 플래그 레지스터를 갖추고 있으며, 16KB의 메모리에 접근할 수 있다. 8008은 이후 인텔 8080, 8085, x86 아키텍처 개발에 영향을 미쳤다.

더 읽어볼만한 페이지

  • 8비트 마이크로프로세서 - 인텔 8080
    인텔이 1974년에 출시한 8비트 마이크로프로세서인 인텔 8080은 8008의 후속 제품으로서 성능과 기능 향상을 통해 초기 마이크로컴퓨터 시장 성장을 이끌었으며, 64KB 메모리 공간 지원, 다양한 애플리케이션 구현, CP/M 운영체제 핵심 프로세서 역할 수행, 후속 x86 아키텍처 기반 마련 등 중요한 역할을 수행했다.
  • 8비트 마이크로프로세서 - WDC 65C02
    WDC 65C02는 6502의 저전력 CMOS 버전으로, 버그 수정, 명령어 추가, 성능 개선이 이루어진 8비트 마이크로프로세서이다.
  • 인텔의 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔의 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
  • 인텔 x86 마이크로프로세서 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔 x86 마이크로프로세서 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
인텔 8008
기본 정보
인텔 C8008-1 프로세서 변종 (자주색 세라믹, 금 도금 금속 덮개 및 핀)
인텔 C8008-1 프로세서 변종 (자주색 세라믹, 금 도금 금속 덮개 및 핀)
생산 시작1972년 4월
생산 종료1983년
최저 속도500 kHz
최고 속도800 kHz
최소 회로 선폭10 μm
트랜지스터 수3,500
적용 분야컴퓨터 터미널
계산기
병입 기계
1970년대 ASEA 산업용 로봇 (IRB 6)
간단한 컴퓨터 등
제조업체인텔
설계 회사Computer Terminal Corporation (CTC)
아키텍처8008
패키지18핀 듀얼 인라인 패키지
다음 프로세서인텔 8080
데이터 폭8 비트
주소 폭14 비트
소켓DIP18
지원 상태지원 중단

2. 역사

컴퓨터 터미널 코퍼레이션(CTC)이 데이터포인트 3300의 후속 제품 설계를 위해 인텔에 칩 개발을 의뢰하면서 8008 (원래 이름은 1201)의 개발이 시작되었다. 인텔은 1970년 초 개발 계약을 체결했다.[3] 텍사스 인스트루먼트도 참여했지만, 이들이 만든 샘플은 결함이 있었다. 인텔의 개발은 지연되었고, CTC는 데이터포인트 2200을 출시하며 1201 개발을 중단했다.[3]

이후 세이코가 1201에 관심을 보였고, 페데리코 파긴의 주도로 재설계가 이루어져 1971년 말 1201이 완성되었다.[3] 그러나 CTC는 데이터포인트 2200 II를 개발하면서 1201과의 관계를 종료하고, 인텔에 디자인 지적 재산을 넘겨주었다. 인텔은 이를 8008로 개칭하고 1972년 4월에 출시했다.[3]

8008은 상업적으로 성공을 거두었고, 캘리포니아 주립대학교 새크라멘토의 ''새크라멘토 주립대 8008''[6], 영국 EMI의 마이크로컴퓨터[7] 등 초기 마이크로컴퓨터에 사용되었다. 미국의 SCELBI, 프랑스 Micral N, 캐나다 MCM/70 등도 8008을 기반으로 한 초기 개인용 컴퓨터였다.

2. 1. 개발 배경

컴퓨터 터미널 코퍼레이션(CTC)은 데이터포인트 3300 터미널의 발열 문제를 해결하기 위해 CPU를 단일 칩으로 재구현하는 방안을 구상했다. CTC의 공동 설립자인 오스틴 O. "거스" 로슈는 이 칩 설계를 위해 당시 메모리 칩을 주로 판매하던 인텔에 의뢰했다.[3]

로슈는 밥 노이스 인텔 CEO를 만났는데, 노이스는 이 아이디어에 대해 우려를 표명했다. 그는 컴퓨터 칩은 컴퓨터당 하나만 팔 수 있지만, 메모리는 수백 개를 팔 수 있다는 점과, 인텔의 기존 고객들이 자체 프로세서 설계를 위해 인텔 메모리를 구매하고 있어 인텔이 자체 프로세서를 출시하면 경쟁자로 간주될 수 있다는 점을 지적했다.[3] 그럼에도 불구하고 노이스는 1970년 초에 50000USD의 개발 계약을 체결했다. 텍사스 인스트루먼트(TI)도 두 번째 공급업체로 참여했다.

1969년 12월, 인텔 엔지니어 스탠 매저와 CTC 대표는 새로운 CTC 비즈니스 터미널에 전원을 공급할 로직 칩셋에 대한 옵션을 논의했다. 인텔 4004 개발에 참여했던 매저는 단일 칩에 프로그래밍 가능한 마이크로프로세서를 사용하는 것이 더 효율적일 수 있다고 제안했고, CTC는 이에 동의하여 당시 1201로 알려진 칩 개발이 시작되었다.[4]

TI는 인텔의 도면을 기반으로 1201 샘플을 만들었지만, 결함이 있어 거부되었다. 인텔 자체 버전은 지연되었고, CTC는 TTL을 사용하여 데이터포인트 2200을 출시했다.[3] CTC는 2200 출시 후 1201 개발을 중단했다.

이후 1971년 초, 세이코는 1201을 과학용 계산기에 사용하겠다는 의사를 인텔에 밝혔다. 페데리코 파긴의 지휘하에 소규모 재설계가 이루어졌고, 16핀에서 18핀 디자인으로 확장된 새로운 1201은 1971년 말에 CTC에 전달되었다.[3]

그 무렵, CTC는 데이터포인트 2200 II를 개발 중이었고, 1201은 새로운 모델에 충분한 성능을 제공하지 못했다. CTC는 1201과의 관계를 종료하고, 50000USD 계약금 대신 디자인의 지적 재산을 인텔에 넘겨주었다. 인텔은 이를 8008로 이름을 변경하고 1972년 4월에 카탈로그에 120USD의 가격으로 등재했다.[3] 8008은 상업적으로 성공적인 디자인이 되었고, 인텔 8080을 거쳐 인텔 x86 제품군으로 이어졌다.[3]

2. 2. 인텔과 CTC의 협력

컴퓨터 터미널 코퍼레이션(CTC)은 데이터포인트 3300 터미널의 발열 문제를 해결하기 위해 CPU를 단일 칩으로 재구현하는 방안을 모색했다. 1970년 초, CTC는 이 칩 설계를 위해 당시 주로 메모리 칩을 판매하던 인텔에 50000USD 규모의 개발 계약을 제안했다.[3] 인텔의 밥 노이스는 컴퓨터당 칩 하나만 판매할 수 있다는 점과 기존 고객과의 경쟁 가능성을 우려했지만, 결국 계약에 동의했다.[3] 텍사스 인스트루먼트(TI)도 세컨드 소스 공급 업체로 참여했다.

인텔 엔지니어 스탠 매저는 CTC 대표와의 만남에서 맞춤형 로직 칩셋 대신 프로그래밍 가능한 마이크로프로세서를 사용하는 것이 더 효율적이라고 제안했고, CTC는 이 제안에 동의하여 1201 칩(후의 8008) 개발이 시작되었다.[4]

TI가 만든 1201 초기 샘플은 결함이 발견되어 사용되지 못했고,[3] 인텔의 자체 생산도 지연되었다. CTC는 단일 칩 CPU를 기다리는 대신, 개별 TTL 소자를 사용하여 데이터포인트 2200을 출시했다.[3] 이로 인해 CTC는 1201 개발을 중단했다.[3]

2. 3. 데이터포인트 2200 출시와 CTC의 결정

CTC는 데이터포인트 3300의 발열 문제를 해결하기 위해 CPU를 단일 칩으로 재구현하는 설계를 구상했다. 이들은 칩 설계를 위해 인텔에 의뢰했지만, 인텔의 밥 노이스는 이 개념에 우려를 표명했다. 그럼에도 불구하고 인텔은 1970년 초에 50000USD의 개발 계약을 체결했고, 텍사스 인스트루먼트 (TI)도 두 번째 공급업체로 참여했다.[3]

인텔 엔지니어 스탠 매저는 테드 호프와 함께 인텔 4004 개발에 참여했던 경험을 바탕으로, CTC에 프로그래밍 가능한 마이크로프로세서를 사용하는 것이 더 효율적이라고 제안했다. CTC는 이에 동의했고, 1201 칩 개발이 시작되었다.[4]

TI는 인텔의 도면을 기반으로 1201 샘플을 만들었지만, 결함이 발견되어 거부되었다. 인텔 자체 버전은 지연되었다. CTC는 단일 칩 CPU를 기다리는 대신, TTL을 사용하여 데이터포인트 2200을 출시했다. 1970년 5월 25일, 제너럴 밀스에 첫 판매가 이루어졌다.[3] CTC는 2200 출시 이후 1201이 더 이상 필요하지 않았기 때문에 개발을 중단했다.[3]

2. 4. 세이코와의 협력 및 8008 출시

1971년 초, 세이코는 8008을 과학용 계산기에 사용하겠다는 의사를 인텔에 밝혔다. 이는 비지콤이 4004를 사용한 계산기로 성공을 거둔 것에 영향을 받은 것으로 보인다.[4] 페데리코 파긴의 지휘 아래 8008은 재설계되었고, 1972년 4월에 8008이라는 이름으로 출시되었다.[3]

2. 5. 초기 마이크로컴퓨터에의 사용

8008은 상업적으로 성공적인 디자인이었다. 캘리포니아 주립대학교 새크라멘토의 빌 펜츠 팀은 8008을 기반으로 완전한 시스템을 구축한 최초의 팀 중 하나였다. ''새크라멘토 주립대 8008''은 최초의 진정한 마이크로컴퓨터 중 하나로 여겨지며, IBM 베이직 어셈블리 언어로 PROM에 구축된 디스크 운영 체제를 갖추고 있었다. 이 시스템은 컬러 디스플레이, 하드 드라이브, 키보드, 모뎀, 오디오/종이 테이프 리더 및 프린터를 모두 구동했다.[6] 이 프로젝트는 1972년 봄에 시작되었고, 텍트로닉스의 주요 도움을 받아 1년 후에 완전히 작동하게 되었다.

1972년 영국에서는 S. E. Laboratories Engineering (EMI)의 톰 스핀크가 이끄는 팀이 8008의 사전 출시 샘플을 기반으로 마이크로컴퓨터를 제작했다. 조 하드만은 칩을 외부 스택으로 확장하여 전원 고장 시 저장 및 복구가 가능하게 했다. 조는 또한 직접 화면 프린터를 개발했다. 운영 체제는 디지털 이큅먼트 코퍼레이션 PDP-11용으로 L. 크로포드와 J. 파넬이 개발한 메타 어셈블러를 사용하여 작성되었으며[7], PROM에 구워졌다. 이 운영 체제는 인터럽트 기반이었고, 대기열에 있었으며, 프로그램 및 데이터에 대한 고정 페이지 크기를 기반으로 했다. 운영 시제품이 경영진을 위해 준비되었지만, 경영진은 프로젝트를 계속 진행하지 않기로 결정했다.

8008은 최초의 상업용 비계산기 개인용 컴퓨터(데이터포인트 2200 자체를 제외하고)였다. 미국의 SCELBI 키트, 프랑스의 Micral N, 캐나다의 MCM/70 등이 8008을 사용했다.

3. 설계

8008은 10μm 실리콘 게이트 PMOS 로직으로 구현되었다. 초기 버전은 최대 0.5MHz의 클럭 주파수에서 작동했으며, 이후 8008-1에서는 0.8MHz로 향상되었다.[12] 명령어 실행에는 3~11 T-상태(state)가 소요되며, 각 T-상태는 2 클럭 사이클이다. 레지스터 간 이동 및 ALU 연산은 5T(0.5MHz에서 20μs), 레지스터-메모리 간 이동은 8T(32μs), 분기하는 콜 및 점프 명령어는 11T-state(44μs)가 걸린다.[13]

8008은 8비트 데이터 버스와 14비트 주소 버스를 사용한다. 18핀 DIP 패키지로 제공되었는데, 핀 수 제한으로 인해 8비트 버스 하나만을 가졌고, 메모리 인터페이스를 위해 약 30개의 TTL 지원 칩이 필요했다.[18] 예를 들어, 16KB 메모리에 접근하기 위한 14비트 주소는 외부 메모리 주소 레지스터(MAR)에 래치되어야 했다. 8008은 8개의 입력 포트와 24개의 출력 포트에 접근할 수 있었다.[12]

8008은 40044040에 비해 초당 명령어 수는 약간 느리지만(0.8MHz에서 36,000~80,000),[14] 한 번에 8비트 데이터를 처리하고 더 많은 RAM에 접근할 수 있어 대부분의 응용 프로그램에서 더 빨랐다. 8008은 3,500개의 트랜지스터를 가지고 있다.[15]

3. 1. 아키텍처

8008은 10μm 실리콘 게이트 PMOS 로직으로 구현되었다. 초기 버전은 최대 0.5MHz의 클럭 주파수에서 작동할 수 있었으며, 이후 8008-1에서는 0.8MHz로 향상되었다.[12] 명령어 실행에는 3~11 T-상태(state)가 소요되며, 각 T-상태는 2 클럭 사이클이다.[12] 레지스터 간 이동 및 ALU 연산은 5T(0.5MHz에서 20μs), 레지스터-메모리 간 이동은 8T(32μs), 분기하는 콜 및 점프 명령어는 11T-state(44μs)가 걸린다.[13]

8008은 8비트 데이터 버스와 14비트 주소 버스를 사용한다. 18핀 DIP 패키지로 제공되었는데, 핀 수 제한으로 인해 8비트 버스 하나만을 가졌고, 메모리 인터페이스를 위해 약 30개의 TTL 지원 칩이 필요했다.[18] 예를 들어, 16KB 메모리에 접근하기 위한 14비트 주소는 외부 메모리 주소 레지스터(MAR)에 래치되어야 했다.[18] 8008은 8개의 입력 포트와 24개의 출력 포트에 접근할 수 있었다.[12]

8008은 40044040에 비해 초당 명령어 수는 약간 느리지만(0.8MHz에서 36,000~80,000),[14] 한 번에 8비트 데이터를 처리하고 더 많은 RAM에 접근할 수 있어 대부분의 응용 프로그램에서 더 빨랐다. 8008은 3,500개의 트랜지스터를 가지고 있다.[15]

인텔 8008 레지스터
비트 위치
1312111009080706050403020100
주요 레지스터
colspan="6" |AA 누산기
colspan="6" |BB 레지스터
colspan="6" |CC 레지스터
colspan="6" |DD 레지스터
colspan="6" |EE 레지스터
colspan="6" |HH 레지스터 (간접)
colspan="6" |LL 레지스터 (간접)
프로그램 카운터
PCProgram Counter
푸시다운 어드레스 콜 스택
AS콜 레벨 1
AS콜 레벨 2
AS콜 레벨 3
AS콜 레벨 4
AS콜 레벨 5
AS콜 레벨 6
AS콜 레벨 7
플래그
colspan="10" |CPZS플래그[11]


3. 2. 레지스터

i8008영어 마이크로아키텍처는 7개의 8비트 범용 레지스터(A, B, C, D, E, H, L)를 가지고 있다. 이 중 A 레지스터는 누산기(accumulator)로 사용된다. H와 L 레지스터는 쌍으로 묶여 메모리 주소를 간접 지정하는 데 사용되는데, 이 방식을 통해서만 메모리 접근이 가능하다.

또한, 14비트 프로그램 카운터(PC)와 7단계 콜 스택을 갖추고 있다. 프로그램 카운터는 다음에 실행될 명령어의 주소를 저장하고, 콜 스택은 서브루틴 호출 시 복귀 주소를 저장하는 데 사용된다.

8008은 4개의 조건 코드 상태 플래그를 가지고 있는데, 이는 캐리(C), 짝수 패리티(P), 제로(Z), 그리고 부호(S) 플래그이다.[11]

다음은 8008의 주요 레지스터를 표로 정리한 것이다.

종류레지스터 이름설명
주요 레지스터A누산기
B범용 레지스터
C범용 레지스터
D범용 레지스터
E범용 레지스터
H메모리 주소 지정 (간접)
L메모리 주소 지정 (간접)
PC다음에 실행될 명령어 주소
콜 스택 | AS콜 레벨 1~7 (7단계)
플래그 | C캐리 플래그
P패리티 플래그
Z제로 플래그
S부호 플래그


3. 3. 명령어 집합

인텔 8008의 명령어는 1~3바이트 길이로, 첫 바이트는 opcode이며 최대 2바이트의 피연산자(operand)가 추가될 수 있다. 피연산자는 즉시 피연산자(immediate operand) 또는 프로그램 주소일 수 있다. 명령어는 8비트 데이터에 대해서만 연산을 수행하며, 16비트 연산은 지원하지 않는다. 데이터 메모리 접근은 H와 L 레지스터 쌍(HL)을 이용한 간접 어드레싱(indirect addressing) 방식(M으로 표시)을 사용하지만, 8008은 14비트 프로그램 주소를 지원한다.

8008은 다단계 서브루틴 호출 및 반환을 위한 CAL 및 RET 명령어를 제공하며, 조건부 실행도 가능하다. 인터럽트 서비스 루틴 호출을 위해 외부 하드웨어에서 제공되는 8개의 1바이트 호출 명령어(RST)가 있으며, 고정 주소 00h, 08h, 10h, ..., 38h에 대한 서브루틴 호출에 사용된다.

두 레지스터 간 또는 레지스터와 메모리 간에 직접 데이터 복사가 가능하다. 누산기(A)와 다른 모든 레지스터, 메모리 또는 즉시 값 간에 8개의 산술/논리 연산이 지원되며, 결과는 항상 A 레지스터에 저장된다. 대부분의 레지스터에서 증가 및 감소 연산이 지원되지만, A 레지스터에서는 지원되지 않는다. 대신 A 레지스터는 4개의 회전(rotate) 명령어를 지원한다. 각 명령어는 3~11 상태(state)로 실행되며, 각 상태는 두 개의 클럭 사이클을 필요로 한다.

8008 명령어 집합에는 다음과 같은 기능들이 포함된다.

  • 7개의 8비트 범용 레지스터: A (누산기), B, C, D, E, H, L
  • 14비트 프로그램 카운터(PC)
  • 7단계 콜 스택 (8개의 레지스터가 사용되며, 최상위 레지스터는 PC)
  • 4개의 조건 코드 플래그: 캐리(C), 짝수 패리티(P), 제로(Z), 부호(S)
  • H 및 L 레지스터(HL)를 사용한 간접 메모리 접근 (상위 2비트는 무시됨)


8008의 어셈블리 언어에서, 인텔의 8008 어셈블러는 + 및 - 연산자만 지원했으나, 예시에서는 8080 어셈블러의 AND 및 SHR (오른쪽 시프트) 연산자를 차용하여 14비트 주소의 하위 및 상위 바이트를 선택하여 8비트 레지스터에 배치하기도 했다.

3. 3. 1. 명령어 목록 (상세)


  • 명령어 길이는 1~3 바이트이다. 연산 코드는 모두 1바이트이다. 2바이트 명령어는 1바이트의 즉시 값을 가지며, 3바이트 명령어(점프, 호출)는 2바이트의 주소를 갖는다.
  • 니모닉의 연산 코드는 모두 3글자이다.
  • RST, INP, OUT 명령어를 제외하고, 기계어로 피연산자를 갖지 않는 명령어(1바이트 명령어)는 니모닉에서도 피연산자를 갖지 않는다. 즉, 기계어의 연산 코드에 인코딩된 레지스터 지정은 니모닉에서도 연산 코드에 포함된다. 그 결과, "LCD", "LED", "ACE", "SUM" 등과 같은 특징적인 니모닉이 존재한다.


다음은 명령어 일람이다.

명령어설명피연산자비고
Lrr8비트 레지스터 간 전송.r: A, B, C, D, E, H, L, MLMM은 존재하지 않음.
LrI8비트 레지스터에 즉시 값을 로드.r: A, B, C, D, E, H, L, M, n: 8비트 즉치
ADr8비트 레지스터의 내용을 A 레지스터에 더함.r: A, B, C, D, E, H, L, M
ADI n즉시 값을 A 레지스터에 더함.n: 8비트 즉치
ACr8비트 레지스터의 내용과 C 플래그를 A 레지스터에 더함.r: A, B, C, D, E, H, L, M
ACI n즉시 값과 C 플래그를 A 레지스터에 더함.n: 8비트 즉치
SUr8비트 레지스터의 내용을 A 레지스터에서 뺌.r: A, B, C, D, E, H, L, M
SUI n즉시 값을 A 레지스터에서 뺌.n: 8비트 즉치
SBr8비트 레지스터의 내용과 C 플래그(보로)를 A 레지스터에서 뺌.r: A, B, C, D, E, H, L, M
SBI n즉시 값과 C 플래그(보로)를 A 레지스터에서 뺌.n: 8비트 즉치
CPr8비트 레지스터의 내용을 A 레지스터에서 빼지만, 결과는 저장하지 않음.r: A, B, C, D, E, H, L, M
CPI n즉시 값을 A 레지스터에서 빼지만, 결과는 저장하지 않음.n: 8비트 즉치
INr8비트 레지스터의 내용을 증가시킴.r: A, B, C, D, E, H, LINM은 존재하지 않음.
DCr8비트 레지스터의 내용을 감소시킴.r: A, B, C, D, E, H, LDCM은 존재하지 않음.
NDr8비트 레지스터의 내용과 A 레지스터의 논리곱을 계산.r: A, B, C, D, E, H, L, M
NDI n즉시 값과 A 레지스터의 논리곱을 계산.n: 8비트 즉치
ORr8비트 레지스터의 내용과 A 레지스터의 논리합을 계산.r: A, B, C, D, E, H, L, M
ORI n즉시 값과 A 레지스터의 논리합을 계산.n: 8비트 즉치
XRr8비트 레지스터의 내용과 A 레지스터의 배타적 논리합을 계산.r: A, B, C, D, E, H, L, M
XRI n즉시 값과 A 레지스터의 배타적 논리합을 계산.n: 8비트 즉치
RLCA 레지스터의 내용과 C 플래그를 연결하여 왼쪽으로 회전(로테이트).
RRCA 레지스터의 내용과 C 플래그를 연결하여 오른쪽으로 회전(로테이트).
RALA 레지스터의 내용을 왼쪽으로 회전(로테이트).
RARA 레지스터의 내용을 오른쪽으로 회전(로테이트).
JMP nn지정된 주소로 점프.nn: 16(14)비트 주소
JFZ nnZ 플래그가 0일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JTZ nnZ 플래그가 1일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JFC nnC 플래그가 0일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JTC nnC 플래그가 1일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JFP nnP 플래그가 0일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JTP nnP 플래그가 1일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JFS nnS 플래그가 0일 때 지정된 주소로 점프.nn: 16(14)비트 주소
JTS nnS 플래그가 1일 때 지정된 주소로 점프.nn: 16(14)비트 주소
CAL nn지정된 주소를 호출.nn: 16(14)비트 주소
CFZ nnZ 플래그가 0일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CTZ nnZ 플래그가 1일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CFC nnC 플래그가 0일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CTC nnC 플래그가 1일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CFP nnP 플래그가 0일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CTP nnP 플래그가 1일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CFS nnS 플래그가 0일 때 지정된 주소를 호출.nn: 16(14)비트 주소
CTS nnS 플래그가 1일 때 지정된 주소를 호출.nn: 16(14)비트 주소
RST pp*8번지를 호출(p=0~7).p: 0~7인터럽트용.
RET복귀.
RFZZ 플래그가 0일 때 복귀.
RTZZ 플래그가 1일 때 복귀.
RFCC 플래그가 0일 때 복귀.
RTCC 플래그가 1일 때 복귀.
RFPP 플래그가 0일 때 복귀.
RTPP 플래그가 1일 때 복귀.
RFSS 플래그가 0일 때 복귀.
RTSS 플래그가 1일 때 복귀.
INP p(p=0~7) A 레지스터에 입력을 받음.p: 0~7
OUT p(p=8~23) A 레지스터의 내용을 출력.p: 8~23
NOP아무것도 수행하지 않음.
HLTCPU를 정지시키고, 인터럽트를 대기.


4. 파생 및 영향

8008은 상업적으로 성공적인 디자인이었다. 이후 인텔 8080이 출시되었고, 이는 크게 성공한 인텔 x86 제품군의 기반이 되었다.[3] 8008은 데이터포인트 2200의 CPU를 단일 칩으로 구현하려던 시도에서 비롯되었지만, 개발 지연으로 데이터포인트는 이 칩을 사용하지 않았다. 인텔은 8008을 범용 프로세서로 판매했다.

8008은 미국 SCELBI 키트, 프랑스 Micral N, 캐나다 MCM/70 등 최초의 상업용 비계산기 개인용 컴퓨터에 사용되었다(데이터포인트 2200 제외). 또한 휴렛 팩커드 2640 컴퓨터 터미널 제품군의 첫 번째 모델의 제어 마이크로프로세서이기도 했다.

1972년 영국에서는 S. E. Laboratories Engineering (EMI)의 톰 스핀크 팀이 8008 사전 출시 샘플을 기반으로 마이크로컴퓨터를 제작했다. 조 하드만은 외부 스택으로 칩을 확장하여 전원 고장 시 저장 및 복구를 가능하게 했고, 직접 화면 프린터를 개발했다. 운영 체제는 디지털 이큅먼트 코퍼레이션 PDP-11용 메타 어셈블러를 사용하여 작성되었으며[7], PROM에 저장되었다. 인터럽트 기반이었고, 대기열을 사용했으며, 프로그램 및 데이터에 고정 페이지 크기를 사용했다.

1973년, 인텔은 8008용 명령어 집합 시뮬레이터 INTERP/8을 제공했다.[8] 이는 게리 키달이 FORTRAN IV로 작성했다.[9][10]

8008 개발에는 다음과 같은 인물들이 참여했다.


  • '''CTC''' (''명령어 집합 및 아키텍처''): 빅터 푸어, 해리 파일
  • '''인텔''' (''실리콘 구현''):
  • * 마시안 호프, 스탠리 메이저: 시프트 레지스터 메모리 대신 램-레지스터 메모리 사용, 명령어 및 인터럽트 기능 추가 등 CTC 아키텍처의 단일 칩 구현 제안.
  • * 페데리코 파긴: 4004 설계 후 7개월간 중단되었던 프로젝트를 1971년 1월부터 1972년 4월까지 이끌어 성공적으로 완료.
  • * 할 피니: 파긴의 감독하에 상세 논리 설계, 회로 설계, 물리적 레이아웃 수행. 4004 개발에 사용된 설계 방법론 및 기본 회로 활용.


8008은 여러 회사에서 세컨드 소스로 생산되었다.

회사제품명
VEB 미크로엘렉트로니크 "카를 마르크스" 에르푸르트 (MME) (동독)U808
마이크로시스템즈 인터내셔널 (MIL)MF8008
지멘스SAB8008



4. 1. 인텔 8080 및 x86 아키텍처

이후에 나온 40핀 NMOS 인텔 8080은 8008 레지스터와 명령어 세트를 확장하고, 더 효율적인 외부 버스 인터페이스를 구현했다(22개의 추가 핀 사용). 아키텍처적으로 밀접한 관계에도 불구하고, 8080은 8008과 바이너리 호환되지 않아서, 8008 프로그램은 8080에서 실행되지 않았다. 하지만 당시 인텔에서 두 가지 어셈블리 구문을 사용했기 때문에, 8080은 8008 어셈블리 언어와 하위 호환되는 방식으로 사용할 수 있었다.[10]

인텔 8085는 공핍형 트랜지스터를 사용하고 두 개의 새로운 명령어를 추가한, 8080의 전기적으로 개선된 버전이다.[10]

인텔 8086는 최초의 x86 프로세서로, 8080을 엄격하게 확장하지 않아 원래의 Datapoint 2200 디자인과도 어느 정도 유사하다. 거의 모든 Datapoint 2200 및 8008 명령어는 8080, 8085 및 Z80의 명령어 세트에 해당하는 것뿐만 아니라 현대 x86 프로세서의 명령어 세트에도 존재한다(하지만 명령어 인코딩은 다릅니다).[10]

4. 2. 세컨드 소스

8008은 여러 회사에서 세컨드 소스로 생산되었다.

  • --
  • --
  • --

참조

[1] 웹사이트 The Life Cycle of a CPU https://www.cpushack[...]
[2] 웹사이트 Thirty years in robotics – Robotics http://www02.abb.com[...] 2014-05-19
[3] 간행물 Forgotten PC history: The true origins of the personal computer https://web.archive.[...] 2008-04-08
[4] 웹사이트 The Intel 8008 https://www.intel.co[...] 2024-12-15
[5] 인터뷰 On the Metal: Ken Shirriff https://oxide.comput[...] 2021-01-26
[6] 웹사이트 Inside the world's long-lost first microcomputer https://www.cnet.com[...] 2010-01-08
[7] 문서 Brunel University, 1974. Master of Technology dissertation, L. R. Crawford.
[8] 서적 MCS-8 Microcomputer Set - 8008 - 8 Bit Parallel Central Processor Unit - Users Manual https://en.wikichip.[...] Intel Corporation 1974
[9] 간행물 High-level language simplifies microcomputer programming https://www.retrotec[...] McGraw-Hill Education 1974-06-27
[10] 웹사이트 8008 Simulator INTERP/8 https://mark-ogden.u[...] Intel Corporation 1975-03
[11] 서적 8008 8 Bit Parallel Central Processor Unit http://www.bitsavers[...] Intel 1973-11
[12] 웹사이트 MCS-8 Micro Computer Set Users Manual http://dunfield.clas[...] Intel Corporation 1972
[13] 웹사이트 Intel 8008 Opcodes http://www.pastraise[...]
[14] 웹사이트 Intel 8008 (i8008) microprocessor family http://www.cpu-world[...] CPU World 2003–2010
[15] 웹사이트 Gordon Moore and Moore's Law https://web.archive.[...]
[16] 문서 Intel Chips: timeline poster http://www.intel.com[...] Intel 2012
[17] 문서 Microprocessor Quick Reference Guide http://www.intel.com[...] Intel 2008
[18] 서적 Oral History of Federico Faggin http://archive.compu[...] Computer History Museum 2004-09-22
[19] 간행물 "Add a Stack to your 8008" https://archive.org/[...] 1975-10
[20] 간행물 The History of the 4004 IEEE Computer Society 1996-12
[21] 웹사이트 CPU History – The CPU Museum – Life Cycle of the CPU http://www.cpushack.[...]
[22] 뉴스 Forgotten PC history: The true origins of the personal computer https://www.computer[...] Computerworld 2008-08-08
[23] 문서 마이크로프로세서의 원조가 된 Intel 4004의 "4004"라는 명칭은 개발 코드가 그대로 상품명이 된 것이지만, 세간에서는 4비트 CPU이므로 4004라고 오해되어 널리 인식되어 버렸다. 이 때문에 8008 발표 당시 Intel은 세간의 혼란을 초래하지 않기 위해 개발 코드 1201을 8008로 개명하여 발표했다.
[24] 뉴스 Inside the world's long-lost first microcomputer https://www.cnet.com[...] CNET
[25] 문서 Brunel University, 1974. Master of Technology dissertation, L. R. Crawford
[26] 웹사이트 MCS-8 Micro Computer Set Users Manual http://www.classiccm[...] Intel Corporation 1972
[27] 웹사이트 8008 Opcodes http://www.pastraise[...]
[28] 웹사이트 Intel 8008 (i8008) microprocessor family http://www.cpu-world[...] CPU World 2003–2010
[29] 웹사이트 http://www.intel.com[...]

관련 사건 타임라인

( 최근 20개의 뉴스만 표기 됩니다. )



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com